package com.example.sfm.pojo.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

@Data
@Schema(name = "学生档案导出视图", description = "用于导出学生档案信息的视图对象")
public class StudentRecordsExportVo {
    @ExcelProperty("学号")
    @Schema(description = "学生的学号")
    private String studentNumber;

    @ExcelProperty("性别")
    @Schema(description = "学生的性别")
    private String genderStr;

    @ExcelProperty("出生日期")
    @DateTimeFormat("yyyy-MM-dd")
    @Schema(description = "学生的出生日期，格式：yyyy-MM-dd")
    private LocalDate birthDate;

    @ExcelProperty("学院")
    @Schema(description = "学生所属的学院")
    private String department;

    @ExcelProperty("专业")
    @Schema(description = "学生所学的专业")
    private String major;

    @ExcelProperty("班级")
    @Schema(description = "学生所在的班级")
    private String className;

    @ExcelProperty("入学日期")
    @DateTimeFormat("yyyy-MM-dd")
    @Schema(description = "学生的入学日期，格式：yyyy-MM-dd")
    private LocalDate admissionDate;

    @ExcelProperty("当前状态")
    @Schema(description = "学生的当前学籍状态")
    private String statusStr;

    @ExcelProperty("平均绩点")
    @Schema(description = "学生的平均绩点")
    private BigDecimal gpa;
}